# -*- coding: utf-8 -*-
#Author Mr.xu
#合并两个Excel表格
# import xlwt
# import xlrd
# import os
# merge = r'C:\Users\56528\Desktop\test\merge.xlsx'
# work=xlwt.Workbook(merge) #建立一个文件
# path=r'C:\Users\56528\Desktop\test'                      #目录(放Excel表格的目录)
# file_list=os.listdir(path)
# for file in file_list:                                #循环遍历列出所有文件名称
#     file_name = os.path.join(path,file)               #路径+文件名
#     workbook=xlrd.open_workbook(file_name)            #打开第一个文件
#     sheet_name=workbook.sheet_names()                 #获取第一个文件的sheet名称
#     for sh in sheet_name:                         #循环遍历每个sheet
#         val=[]
#         try:
#             sheet = work.get_sheet(sh)
#         except:
#             sheet=work.add_sheet(sh,cell_overwrite_ok=False) #新建一个sheet
#         table=workbook.sheet_by_name(sh)                #以名字为索引
#         rows=table.nrows                                    #获取sheet行数
#         #clos=table.ncols                                    #获取sheet列数目
#         for i in range(rows):                               #循环遍历每一行
#             val.append(table.row_values(i))                 #获取每一行的值
#             sheet.write_row()
# work.save(merge)

import xlrd,os
import xlsxwriter
import xlwt

#预设标题加粗
#bold = wh.add_format({'bold':1})
#tar = []

#读取源文件数据
path=r'C:\Users\56528\Desktop\test2' #目录(放Excel表格的目录)
file_list=os.listdir(path)
tar={}
for file in file_list:
    # 读文件
    file_name = os.path.join(path, file)
    data = xlrd.open_workbook(file_name)
    sheet_names = data.sheet_names()  # 获取sheet页名称;
    for sheet_name in sheet_names:
        #获取sheet页的名称
        sheet = data.sheet_by_name(sheet_name)
        cur_list = tar.get(sheet_name,[])
        if cur_list ==[]:
            tar[sheet_name] = cur_list
        #获取表头
        #sh_title = data.sheet_by_index(0).row_values(0)
        #wadd.write_row('A1',sh_title,bold)
        #获取表的行数
        nrows = sheet.nrows
        #循环打印
        for i in range(nrows):
            #跳过第一行
            if i == 0:
                continue
            # print(sheet.row_values(i))
            cur_list.append(sheet.row_values(i))
        cur_list.append([])

tarfile = r'C:\Users\56528\Desktop\test\merge.xlsx'
# 新建目标文件
wh = xlsxwriter.Workbook(tarfile)
for sheet_name,v in tar.items():
    wadd = wh.add_worksheet(sheet_name)
    for row_num,row_data in enumerate(v):
        wadd.write_row(row_num+1,0,row_data)
wh.close()